@mixin flex {
	display: flex !important;
}

.flex{
	@include flex;
	&-shrink{
		flex-shrink: 0;
	}
	&-1{
		flex: 1;
	}
	&-shrink{
		flex-shrink: 0 !important;
	}
	&-col{
		@include flex;
		flex-direction: column;
	}
	&-col-reverse{
		@include flex;
		flex-direction: column-reverse
	}
	&-row{
		@include flex;
		flex-direction: row;
	}
	&-row-reverse{
		@include flex;
		flex-direction: row-reverse;
	}
	&-wrap{
		@include flex;
		flex-wrap: wrap;
	}
	&-nowrap{
		@include flex;
		flex-wrap: nowrap;
	}
	&-x-start{
		@include flex;
		justify-content: flex-start;
	}
	&-x-center{
		@include flex;
		justify-content: center;
	}
	&-x-end{
		@include flex;
		justify-content: flex-end;
	}
	&-y-start{
		@include flex;
		align-items: flex-start;
	}
	&-y-center{
		@include flex;
		align-items: center;
	}
	&-y-end{
		@include flex;
		align-items: flex-end;
	}
	&-start-start{
		@include flex;
		justify-content: flex-start;
		align-items: flex-start;
		align-content: flex-start;
	}
	&-start-center{
		@include flex;
		justify-content: flex-start;
		align-items: center;
		align-content: center;
	}
	&-start-end{
		@include flex;
		justify-content: flex-start;
		align-items: flex-end;
		align-content: flex-end;
	}
	&-start-around{
		@include flex;
		justify-content: flex-start;
		align-content: space-around;
	}
	&-start-between{
		@include flex;
		justify-content: flex-start;
		align-content: space-between;
	}
	&-start-evenly{
		@include flex;
		justify-content: flex-start;
		align-content: space-evenly;
	}
	&-center-start{
		@include flex;
		justify-content: center;
		align-items: flex-start;
		align-content: flex-start;
	}
	&-center-center{
		@include flex;
		justify-content: center;
		align-items: center;
		align-content: center;
	}
	&-center-end{
		@include flex;
		justify-content: center;
		align-items: flex-end;
		align-content: flex-end;
	}
	&-center-around{
		@include flex;
		justify-content: center;
		align-content: space-around;
	}
	&-center-between{
		@include flex;
		justify-content: center;
		align-content: space-between;
	}
	&-center-evenly{
		@include flex;
		justify-content: center;
		align-content: space-evenly;
	}
	&-end-start{
		@include flex;
		justify-content: flex-end;
		align-items: flex-start;
		align-content: flex-start;
	}
	&-end-center{
		@include flex;
		justify-content: flex-end;
		align-items: center;
		align-content: center;
	}
	&-end-end{
		@include flex;
		justify-content: flex-end;
		align-items: flex-end;
		align-content: flex-end;
	}
	&-end-around{
		@include flex;
		justify-content: flex-end;
		align-content: space-around;
	}
	&-end-between{
		@include flex;
		justify-content: flex-end;
		align-content: space-between;
	}
	&-end-evenly{
		@include flex;
		justify-content: flex-end;
		align-content: space-evenly;
	}
	&-around-start{
		@include flex;
		justify-content: space-around;
		align-items: flex-start;
		align-content: flex-start;
	}
	&-around-center{
		@include flex;
		justify-content: space-around;
		align-items: center;
		align-content: center;
	}
	&-around-end{
		@include flex;
		justify-content: space-around;
		align-items: flex-end;
		align-content: flex-end;
	}
	&-around-around{
		@include flex;
		justify-content: space-around;
		align-content: space-around;
	}
	&-around-between{
		@include flex;
		justify-content: space-around;
		align-content: space-between;
	}
	&-around-evenly{
		@include flex;
		justify-content: space-around;
		align-content: space-evenly;
	}
	&-between-start{
		@include flex;
		justify-content: space-between;
		align-items: flex-start;
		align-content: flex-start
	}
	&-between-center{
		@include flex;
		justify-content: space-between;
		align-items: center;
		align-content: center;
	}
	&-between-end{
		@include flex;
		justify-content: space-between;
		align-items: flex-end;
		align-content: flex-end;
	}
	&-between-around{
		@include flex;
		justify-content: space-between;
		align-content: space-around;
	}
	&-between-between{
		@include flex;
		justify-content: space-between;
		align-content: space-between;
	}
	&-between-evenly{
		@include flex;
		justify-content: space-between;
		align-content: space-evenly;
	}
	&-evenly-start{
		@include flex;
		justify-content: space-evenly;
		align-items: flex-start;
		align-content: flex-start;
	}
	&-evenly-center{
		@include flex;
		justify-content: space-evenly;
		align-items: center;
		align-content: center;
	}
	&-evenly-end{
		@include flex;
		justify-content: space-evenly;
		align-items: flex-end;
		align-content: flex-end;
	}
	&-evenly-around{
		@include flex;
		justify-content: space-evenly;
		align-content: space-around;
	}
	&-evenly-between{
		@include flex;
		justify-content: space-evenly;
		align-content: space-between;
	}
	&-evenly-evenly{
		@include flex;
		justify-content: space-evenly;
		align-content: space-evenly;
	}
	&-item-start{
		align-self: flex-start;
	}
	&-item-center{
		align-self: center;
	}
	&-item-end{
		align-self: flex-end;
	}
}